package com.ztgf.commodity.models.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ztgf.commodity.models.bo.CategoryShieldPartsRelationBO;
import com.ztgf.commodity.models.bo.CategoryShieldPartsRelationSaveBO;
import com.ztgf.commodity.models.dto.CategoryShieldPartsRelationDTO;
import com.ztgf.commodity.models.vo.CategoryShieldPartsRelationVO;
import com.ztgf.commodity.models.vo.ShieldPartsParentVO;

/**
 * 分类盾构部位关系表服务
 *
 * @author chenyu.wang
 * @Date 2020-06-02 15:12:13
 */
public interface ICategoryShieldPartsRelationService extends IService<CategoryShieldPartsRelationDTO> {

    /**
     * description: 添加
     * param: [saveBO]
     * author: chenyu.wang
     * date: 2020-06-02
     * return: boolean
     */
    boolean add(CategoryShieldPartsRelationSaveBO saveBO);

    /**
     * description: 分类盾构部位关系列表
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-06-02
     * return: java.util.List<com.ztgf.commodity.models.vo.CategoryShieldPartsRelationVO>
     */
    Page<CategoryShieldPartsRelationVO> queryPageList(CategoryShieldPartsRelationBO bo);

    /**
     * description: 根据分类顶级id查询关系盾构部位
     * param: [id] 分类id
     * author: chenyu.wang
     * date: 2020-06-05
     * return: java.util.List<com.ztgf.commodity.models.vo.ShieldPartsVO>
     */
    ShieldPartsParentVO queryShieldParts(Long id);

    /**
     * description: 根据类目id删除关联的盾构部位
     * param: [categoryId]
     * author: chenyu.wang
     * date: 2020-07-29
     * return: boolean
     */
    boolean deleteAccordingToCategory(Long categoryId);
}
